Information contained in a database (DB) is a collection of records. Some of them have references to other records. Reference is an expression of a relation among records and is a common concept on various kinds of DBs. Some DBs have referential integrity functions, such as “chain deleting” or “chain updating”. These functions delete or update other records in consequence of a deletion or modification of a record. However, it forces to consume processing power of PC to prevent referential inconsistency for each operation to DB. The present invention resolves this problem.
There is another technical back ground view of the present invention. As a method for sharing one DB among PCs, each PC has reproduced DB that is a copy of the original. Each PC can access to its own reproduced DB individually. Lock mechanism can be used to prevent inconsistency among reproduced DBs of all PCs. Before editing a reproduced DB, PC asks other PCs not to edit their reproduced DBs concurrently. Finishing editing work, the editing contents are propagated to other PCs and locks are released. Apparently this method restricts concurrent editing accesses to reproduced DBs and decreases merits of introducing reproduced DBs.
If concurrent editing works are allowed for PCs and every editing work are propagated to others asynchronously, there will be a structural inconsistency of DB. For example, record referred by other records may be deleted or modified in another reproduced DB, because there is no investigation on other DBs before the editing works. Such inconsistencies will be spread over PCs, by propagating editorial contents to other reproduced DBs asynchronously. The present invention also resolves this problem.